python时间模块 datetime(date和time部分) |
您所在的位置:网站首页 › onceinawhile和from time to time › python时间模块 datetime(date和time部分) |
datetime 实在time模块的基础上进行优化和改进,更好的使用。 datetime主要包含以下几个内容 date:日期类(year,month,day)time:时间类(hour, minute,second,microsecond,tzinfo,*fold)datetime:日期时间,可以看成是date和time的组合,同时继承了他们的大部分方法和属性timedelta:表示两个时间对象(date对象或time对象)的时间间隔,精确到毫秒tzinfo:时区信息的基类,datetime和time类使用它们来提供可定制的时间调整概念(例如,考虑时区和/或夏令时)。 datetime中的两个常量:datetime.MINYEAR: date或time对象允许的最小年,为 1. datetime.MAXYEAR: date或time对象允许的最大年,为 9999. 以下分别介绍上面几个内容的常用的方法和属性 date类date对象表示理想日历中的日期(年、月和日) datetime.date(year,month,day) 参数范围yeardatetime.MINYEAR----datetime.MAXYEARmonth1—12day1—28/29/30/31(根据实际年份和月份确定) 类方法(class methods)date.today() 作用:返回当前时区的日期等价于date.fromtimestamp(time.time()) from datetime import date date.today() # 结果 # datetime.date(2019, 11, 18)date.fromtimestamp(timestamp) 作用:根据给定的时间戳timestamp ,放回当前时区对应的date对象 import time from datetime import date date.fromtimestamp(time.time()) # 结果 # datetime.date(2019, 11, 18)date.fromordinal(ordinal) 作用:返回一个date对象,序数ordinal是相对于公元1年1月1日的整型数。ordinal的范围:(1,date.max.toordinal());date.max.toordinal()即datetime.date(9999, 12, 31)的序数 from datetime import date ordinal = date.today().toordinal() # ordinal = 737381 date.fromordinal(ordinal-1) # 结果 # datetime.date(2019, 11, 17)date.fromisoformat(date_string) 作用:将格式为“YYYY-MM-DD”的日期字符串转化为一个date对象date_string:’‘YYYY-DD-MM’'形式的字符串 注: 该方法是在python 3.7加入的,运行请确保是在3.7以上的环境中 from datetime import date date_string = '2019-11-11' date.fromisoformat(date_string) # 结果 # datetime.date(2019, 11, 11)date.fromisocalendar(year,month,day) 作用:返回一个date,对应的ISO(国际标准化组织)日历日期指定的年,周和天 注: python3.8新添加 类属性(class attributes)date.min:返回 datetime.date(1, 1, 1) date.max:返回 datetime.date(9999,12,31) date.resolution: 两个不等date对象存在的最小差值,即datetime.datedelta(days=1) 实例属性(instance attributes)date.year: 返回date对象的year值 date.month: 返回date对象的month值 date.day: 返回date对象的day值 from datetime import date d = date(2019,11,19) # datetime.date(2019, 11, 19) d.year # 2019 d.month # 11 d.day # 19 实例方法(instance methods)date.replace(year, month, day) 作用:返回一个实例对象date的日期,若year,month,day被改变,则返回改变的日期(不改变原实例对象的值) from datetime import date d = date(2019,11,11) d.replace() # datetime.date(2019,11,11) d.replace(year=2018) # datetime.date(2018,11,11) d # datetime.date(2019,11,11)date.timetuple() 作用:将实例对象date转化成一个时间元组(time.struct_time)对象,但其时间部分的值全为0. d.timetuple() # time.struct_time(tm_year=2019, tm_mon=11, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=315, tm_isdst=-1)date.toordinal() 作用:返回相对于公元1年1月1日的序数. d.toordinal() # 737374date.weekday() 作用:返回一周中的第几天,范围:0-6(Monday>>>0;Sunday>>>6) date.isoweekday()作用:返回ISO标准的一周中的第几天,范围:1-7(Monday>>>1;Sunday>>>7) d.weekday() # 0 d.isoweekday() # 1date.isocalendar() 作用:将实例化对象date转化为一个元组; 返回一个元组(ISO year,ISO week number, ISO weekday) 表示year年的第week number 周的 weekday。注:国际标准化组织规定,一年份由52或53个完整的星期组成,其中一个星期从星期一开始到星期天结束。ISO年份的第一周是包含星期四的一年的第一个公历周。这被称为第一周,那个星期四的ISO年份与其公历年份相同。 d.isocalendar() # (2019, 46, 1)date.isoformat() 作用:将实例化对象date转化为ISO格式(“YYYY-MM-DD”)的日期字符串 d.isoformat() # '2019-11-11'date.strftime(format) 作用:将实例化对象date转化为指定格式(format)的字符串,若涉及到时间部分,则时间部分的值全为0. d.strftime('%Y-%m-%d %H:%M:%S') # '2019-11-11 00:00:00' time类time类表示(当地)一天中的时间部分,独立于任何特定的日期,可以同tzinfo进行时区调整 class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *) 参数范围hour0 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |